package com.itany.corejava.code11_io.file;

import com.itany.corejava.util.DateUtil;

import java.io.File;
import java.util.Date;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月24日 10:46
 */
public class Test03_获取文件信息 {
    public static void main(String[] args) {

        //相对路径是相对于项目的根目录,以我的这个为例，相对于code-java
        File file=new File("corejava/src/q.txt");
        System.out.println("文件是否存在:"+file.exists());
        System.out.println("文件长度"+file.length());

        // getName()获取文件名
        System.out.println("文件名:"+file.getName());

        // getPath()文件的路径名
        System.out.println("文件的路径名:"+file.getPath());

        // getAbsolutePath()获取绝对路径名
        System.out.println("绝对路径名:"+file.getAbsolutePath());

        String parentPath=file.getParent();
        System.out.println("获取父目录:"+parentPath);

        File parent=file.getParentFile();
        System.out.println("父目录的文件对象"+parent);
        System.out.println("父目录文件对象是否存在:"+parent.exists());

        File file2=new File("d:\\Users\\User\\Desktop\\d\\aa.txt");
        System.out.println("是否可读:"+file2.canRead());
        System.out.println("是否可写:"+file2.canWrite());
        System.out.println("是否是目录:"+file2.isDirectory());
        System.out.println("是否是隐藏文件:"+file2.isHidden());

        long time=file2.lastModified();//返回最后一次修改的时间的毫秒值
        Date d=new Date(time);//将毫秒值转换成Date日期
        System.out.println(DateUtil.toString(d));

        // 获取文件路径分隔符，根据系统不同返回不同
        // windows:\
        // mac:/
        System.out.println("获取文件路径的分隔符:"+File.separator);
    }
}
